<?php
 /**
* @package   auto_occasion
* @subpackage commun
* @author    CMS
* @copyright 2011
* @license    All rights reserved
*/

/**
 * Un script tâche CRON vérifiera tous les jours si les critères de recherche enregistrés en base sont réunis. : FO recherche
 */
class croncheckifcriteriaCtrl extends jControllerCmdLine {
 
    function index() {
        if ( array_key_exists('REMOTE_ADDR', $_SERVER) )
            die("Can only be run from the command line!");

        $rep = $this->getResponse(); // cmdline response by default
        jClasses::inc('commun~common');
        jClasses::inc('commun~acheteurCritereSrv');
        try {
            // récuperer les records from ao_acheteur_critere
            $liste = common::liste('ao_acheteur_critere');
            $temp = $tempId = array();
            if (sizeof($liste)) {
                foreach($liste as $item) {
                    if ($item->critere) {
                        $jdb         = jDb::getDbWidget();
                        $annonce     = $jdb->fetchAll($item->critere);
                        if (sizeof($annonce)) {
                            $tempId[]   = $item->id;

                            $o = new stdClass();
                            $o->email = $item->email;
                            $o->datas = $annonce;
                            $temp []  = $o;
                        }
                    }
                }
                // envoyer le mail d'alerte
                if (sizeof($temp)) {
                    foreach ($temp as $k=>$val) {
                        $lienResultat = 'http://' . "auto_occasion.local" . jUrl::get('recherche~Forecherche:index');
                        $listeCritere = '';
                        if (sizeof($val->datas)) {
                            foreach($val->datas as $itemAnnonce) {
                                $listeCritere .= $itemAnnonce->marque_libelle . ' ' . $itemAnnonce->modele_libelle;
                                $lienResultat = 'http://' . "auto_occasion.local" . jUrl::get('recherche~Forecherche:index', array('marque'=>$itemAnnonce->Occas_Marque, 'modele'=>$itemAnnonce->Occas_Modele, 'clean'=>'mrk'));
                                $lienResultat = "<a href=".$lienResultat.">$lienResultat</a>";
                                break;
                            }
                        }

                        $parametre = new stdClass();
                        $parametre->vendeurMail = $val->email;
                        $parametre->message     = common::chargeParId(MAIL_ALERTE_RECHERCHE, 'ao_mail_templates')->mail_content;
                        $parametre->message     = str_replace("{_LISTE_CRITERE}", $listeCritere, $parametre->message);
                        $parametre->message     = str_replace("{_LIEN_ANNONCE}", $lienResultat, $parametre->message);

                        acheteurCritereSrv::sendMail($parametre);
                    }
                }

                // supprimer les lignes auant un résultat
                if (sizeof($tempId))
                    acheteurCritereSrv::deleteMultiple($tempId);
            }
        } catch (exception $e) {
            echo $e->getMessage();
        }
        echo 'OK - check criteria  ' . date("Y-m-d h:i:s");

        return $rep;

    }
}
 
?>